home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!zephyr.ens.tek.com!tekgen!tekred!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v08i047: NetHack3 - display oriented dungeons & dragons (Ver. 3.0), Patch4k
- Message-ID: <4637@tekred.CNA.TEK.COM>
- Date: 29 Sep 89 21:16:32 GMT
- Sender: nobody@tekred.CNA.TEK.COM
- Lines: 840
- Approved: billr@saab.CNA.TEK.COM
-
- Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu>
- Posting-number: Volume 8, Issue 47
- Archive-name: NetHack3/Patch4k
- Patch-To: NetHack3: Volume 7, Issue 56-93
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 11 (of 11)."
- # Contents: src/monst.c2
- # Wrapped by billr@saab on Fri Sep 29 13:11:40 1989
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'src/monst.c2' -a "${1}" != "-c" ; then
- mv -f src/monst.c2 src/monst.c2.orig
- fi
- echo shar: Extracting \"'src/monst.c2'\" \(47579 characters\)
- sed "s/^X//" >'src/monst.c2' <<'END_OF_FILE'
- X/* horrible kludge alert: splitting monst.o into two parts depends on
- X the two files monst1.o and monst2.o being loaded consecutively into
- X memory; _mons2 must immediately follow mons. Needless to say,
- X don't depend on this unless you have to (I had to; my compiler was
- X too much of a memory pig to produce monst.o in a measly 2 megabytes
- X of memory -- ERS */
- X
- X#ifndef SPLITMON_1
- X#ifdef SPLITMON_2
- Xstruct permonst _mons2[] = {
- X#endif
- X/* giant Humanoids */
- X { "ettin", S_GIANT, 10, 12, 3, 0, 0, (G_GENO | 1),
- X { { AT_WEAP, AD_PHYS, 2, 8 }, { AT_WEAP, AD_PHYS, 3, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK },
- X 50, 500, 0, MS_GRUNT, M1_BIG | M1_ANIMAL | M1_HUMANOID | M1_COLLECT,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE, C(BROWN) },
- X { "giant", S_GIANT, 6, 6, 0, 0, 2, (G_GENO | G_NOGEN | 1),
- X { { AT_WEAP, AD_PHYS, 2, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 75, 750, 0, MS_SILENT, M1_BIG | M1_HUMANOID | M1_COLLECT | M1_JEWELS,
- X M2_GIANT | M2_STRONG | M2_ROCKTHROW | M2_NASTY, C(HI_MON) },
- X { "stone giant", S_GIANT, 6, 6, 0, 0, 2, (G_GENO | G_SGROUP | 1),
- X { { AT_WEAP, AD_PHYS, 2, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 75, 750, 0, MS_SILENT, M1_BIG | M1_HUMANOID | M1_COLLECT | M1_JEWELS,
- X M2_GIANT | M2_STRONG | M2_ROCKTHROW | M2_NASTY, C(GRAY) },
- X { "hill giant", S_GIANT, 8, 10, 6, 0, -2, (G_GENO | G_SGROUP | 1),
- X { { AT_WEAP, AD_PHYS, 2, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 70, 700, 0, MS_SILENT, M1_BIG | M1_HUMANOID | M1_COLLECT | M1_JEWELS,
- X M2_GIANT | M2_STRONG | M2_ROCKTHROW | M2_NASTY, C(BROWN) },
- X { "fire giant", S_GIANT, 9, 12, 4, 5, 2, (G_GENO | G_SGROUP | 1),
- X { { AT_WEAP, AD_PHYS, 2, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 75, 750, 0, MS_SILENT,
- X M1_BIG | M1_HUMANOID | M1_FIRE_RES | M1_COLLECT | M1_JEWELS,
- X M2_GIANT | M2_STRONG | M2_ROCKTHROW | M2_NASTY, C(YELLOW) },
- X { "frost giant", S_GIANT, 10, 12, 3, 10, -3, (G_GENO | G_SGROUP | 1),
- X { { AT_WEAP, AD_PHYS, 2, 12 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 75, 750, 0, MS_SILENT,
- X M1_BIG | M1_HUMANOID | M1_COLD_RES | M1_COLLECT | M1_JEWELS,
- X M2_GIANT | M2_STRONG | M2_ROCKTHROW | M2_NASTY, C(WHITE) },
- X { "titan", S_GIANT, 16, 18, -3, 70, 9, 1,
- X { { AT_WEAP, AD_PHYS, 2, 8 }, { AT_MAGC, AD_SPEL, 0, 0 },
- X NO_ATTK, NO_ATTK, NO_ATTK },
- X 90, 900, 0, MS_SILENT, M1_BIG | M1_FLY | M1_HUMANOID | M1_MAGIC |
- X M1_COLLECT, M2_STRONG | M2_ROCKTHROW | M2_NASTY, C(MAGENTA) },
- X { "minotaur", S_GIANT, 15, 15, 6, 0, 0, (G_GENO | G_NOGEN),
- X { { AT_CLAW, AD_PHYS, 3, 10 }, { AT_CLAW, AD_PHYS, 3, 10 },
- X AT_BUTT, AD_PHYS, 2, 8, NO_ATTK, NO_ATTK},
- X 70, 700, 0, MS_SILENT, M1_BIG | M1_ANIMAL | M1_HUMANOID,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE, C(BROWN) },
- X { "owlbear", S_GIANT, 5, 12, 5, 0, 0, (G_GENO | 3),
- X { { AT_CLAW, AD_PHYS, 1, 6 }, { AT_CLAW, AD_PHYS, 1, 6 },
- X { AT_HUGS, AD_PHYS, 2, 8 }, NO_ATTK, NO_ATTK },
- X 70, 700, 0, MS_SILENT, M1_BIG | M1_ANIMAL | M1_HUMANOID,
- X M2_HOSTILE | M2_STRONG | M2_NASTY | M2_CARNIVORE, C(BROWN) },
- X/* Invisible stalker */
- X { "stalker", S_STALKER, 8, 12, 3, 0, 0, (G_GENO | 3),
- X { { AT_CLAW, AD_PHYS, 4, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 40, 400, 0, MS_SILENT,
- X M1_BIG | M1_ANIMAL | M1_FLY | M1_SEE_INVIS | M1_STALK,
- X M2_WANDER | M2_HOSTILE | M2_STRONG, C(WHITE) },
- X/* Jellies */
- X { "blue jelly", S_JELLY, 4, 0, 8, 10, 0, (G_GENO | 2),
- X { { AT_NONE, AD_COLD, 0, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 2, 20, 0, MS_SILENT, M1_BIG | M1_NOEYES | M1_NOHANDS |
- X M1_POIS_RES | M1_COLD_RES,
- X M2_HOSTILE | M2_NOLIMBS | M2_OMNIVORE | M2_AMORPHOUS, C(BLUE) },
- X { "spotted jelly", S_JELLY, 5, 0, 8, 10, 0, (G_GENO | 1),
- X { { AT_NONE, AD_ACID, 0, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 2, 20, 0, MS_SILENT,
- X M1_BIG | M1_NOEYES | M1_NOHANDS | M1_POIS | M1_STON_RES,
- X M2_HOSTILE | M2_NOLIMBS | M2_OMNIVORE | M2_AMORPHOUS, C(GREEN) },
- X { "ochre jelly", S_JELLY, 6, 3, 8, 20, 0, (G_GENO | 2),
- X { { AT_ENGL, AD_ACID, 3, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 2, 20, 0, MS_SILENT, M1_BIG | M1_NOEYES | M1_NOHANDS | M1_POIS |
- X M1_STON_RES, M2_HOSTILE | M2_OMNIVORE | M2_NOLIMBS | M2_AMORPHOUS,
- X C(HI_GOLD)},
- X/* Kops */
- X#ifdef KOPS
- X { "Keystone Kop", S_KOP, 1, 6, 7, 10, 9, (G_GENO | G_LGROUP | G_NOGEN),
- X { { AT_WEAP, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 20, 200, 0, MS_ARREST, M1_HUMANOID | M1_COLLECT,
- X M2_HUMAN | M2_WANDER | M2_HOSTILE, C(BLUE) },
- X { "Kop Sergeant", S_KOP, 2, 8, 6, 10, 10, (G_GENO | G_SGROUP | G_NOGEN),
- X { { AT_WEAP, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 20, 200, 0, MS_ARREST, M1_HUMANOID | M1_COLLECT,
- X M2_HUMAN | M2_WANDER | M2_HOSTILE | M2_STRONG, C(BLUE) },
- X { "Kop Lieutenant", S_KOP, 3, 10, 5, 20, 11, (G_GENO | G_NOGEN),
- X { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 20, 200, 0, MS_ARREST, M1_HUMANOID | M1_COLLECT,
- X M2_HUMAN | M2_WANDER | M2_HOSTILE | M2_STRONG, C(BLUE) },
- X { "Kop Kaptain", S_KOP, 4, 12, 4, 20, 12, (G_GENO | G_NOGEN),
- X { { AT_WEAP, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 20, 200, 0, MS_ARREST, M1_HUMANOID | M1_COLLECT,
- X M2_HUMAN | M2_WANDER | M2_HOSTILE | M2_STRONG, C(BLUE) },
- X#endif
- X/* Leprechauns */
- X { "leprechaun", S_LEPRECHAUN, 5, 15, 8, 20, 0, (G_GENO | 4),
- X { { AT_CLAW, AD_PHYS, 1, 2 }, { AT_CLAW, AD_SGLD, 0, 0 },
- X NO_ATTK, NO_ATTK, NO_ATTK },
- X 30, 300, 0, MS_LAUGH, M1_HUMANOID | M1_TPORT | M1_GREEDY,
- X M2_HOSTILE, C(GREEN) },
- X/* Mummies */
- X { "kobold mummy", S_MUMMY, 3, 8, 6, 20, -2, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 10, 100, 0, MS_SILENT,
- X M1_HUMANOID | M1_UNDEAD | M1_POIS, M2_HOSTILE, C(BROWN) },
- X { "gnome mummy", S_MUMMY, 4, 10, 6, 20, -3, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 10, 100, 0, MS_SILENT,
- X M1_HUMANOID | M1_UNDEAD | M1_POIS, M2_HOSTILE, C(BROWN) },
- X { "orc mummy", S_MUMMY, 5, 10, 5, 20, -4, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 15, 150, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS |
- X M1_GREEDY | M1_JEWELS, M2_HOSTILE | M2_ORC, C(BROWN) },
- X { "elf mummy", S_MUMMY, 6, 12, 4, 30, -5, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 35, 350, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_SLEE_RES,
- X M2_HOSTILE | M2_ELF, C(BROWN) },
- X { "human mummy", S_MUMMY, 6, 12, 4, 30, -5, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 },
- X NO_ATTK, NO_ATTK, NO_ATTK },
- X 40, 400, 0, MS_SILENT,
- X M1_HUMANOID | M1_UNDEAD | M1_POIS, M2_HOSTILE, C(BROWN) },
- X { "ettin mummy", S_MUMMY, 7, 12, 4, 30, -6, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 2, 6 }, { AT_CLAW, AD_PHYS, 2, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, 0, MS_SILENT,
- X M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_BIG,
- X M2_HOSTILE | M2_STRONG, C(BROWN) },
- X { "giant mummy", S_MUMMY, 8, 14, 3, 30, -7, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 75, 750, 0, MS_SILENT,
- X M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_BIG | M1_JEWELS,
- X M2_HOSTILE | M2_GIANT | M2_STRONG, C(BROWN) },
- X/* Nymphs */
- X { "wood nymph", S_NYMPH, 3, 12, 9, 20, 0, (G_GENO | 2),
- X { { AT_CLAW, AD_SITM, 0, 0 }, { AT_CLAW, AD_SEDU, 0, 0 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 30, 300, 0, MS_SEDUCE,
- X M1_HUMANOID | M1_TPORT | M1_COLLECT | M1_FEM, M2_HOSTILE, C(GREEN) },
- X { "water nymph", S_NYMPH, 3, 12, 9, 20, 0, (G_GENO | 2),
- X { { AT_CLAW, AD_SITM, 0, 0 }, { AT_CLAW, AD_SEDU, 0, 0 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 30, 300, 0, MS_SEDUCE,
- X M1_HUMANOID | M1_TPORT | M1_COLLECT | M1_FEM | M1_SWIM,
- X M2_HOSTILE, C(BLUE) },
- X { "mountain nymph", S_NYMPH, 3, 12, 9, 20, 0, (G_GENO | 2),
- X { { AT_CLAW, AD_SITM, 0, 0 }, { AT_CLAW, AD_SEDU, 0, 0 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 30, 300, 0, MS_SEDUCE,
- X M1_HUMANOID | M1_TPORT | M1_COLLECT | M1_FEM, M2_HOSTILE, C(BROWN) },
- X/* Ogres */
- X { "ogre", S_OGRE, 5, 10, 5, 0, -3, (G_SGROUP | G_GENO | 1),
- X { { AT_WEAP, AD_PHYS, 2, 5 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 60, 500, 0, MS_GRUNT,
- X M1_BIG | M1_HUMANOID | M1_GREEDY | M1_JEWELS | M1_COLLECT,
- X M2_STRONG, C(BROWN) },
- X { "ogre lord", S_OGRE, 7, 12, 3, 30, -5, (G_GENO | 2),
- X { { AT_WEAP, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 70, 700, 0, MS_GRUNT,
- X M1_BIG | M1_HUMANOID | M1_GREEDY | M1_JEWELS | M1_COLLECT | M1_LORD,
- X M2_STRONG, C(BROWN) },
- X { "ogre king", S_OGRE, 7, 14, 4, 60, -7, (G_GENO | 2),
- X { { AT_WEAP, AD_PHYS, 3, 5 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 70, 750, 0, MS_GRUNT,
- X M1_BIG | M1_HUMANOID | M1_GREEDY | M1_JEWELS | M1_COLLECT | M1_PRINCE,
- X M2_STRONG, C(MAGENTA) },
- X/* Puddings */
- X { "gray ooze", S_PUDDING, 3, 1, 8, 0, 0, (G_GENO | 2),
- X { { AT_BITE, AD_RUST, 2, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 50, 500, 0, MS_SILENT, M1_NOEYES | M1_NOHANDS | M1_POIS_RES,
- X M2_HOSTILE | M2_NOLIMBS | M2_OMNIVORE | M2_AMORPHOUS, C(GRAY) },
- X { "brown pudding", S_PUDDING, 5, 3, 8, 0, 0, (G_GENO | 1),
- X { { AT_BITE, AD_DCAY, 0, 0 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 50, 500, 0, MS_SILENT, M1_NOEYES | M1_NOHANDS | M1_POIS_RES |
- X M1_COLD_RES | M1_ELEC_RES,
- X M2_HOSTILE | M2_NOLIMBS | M2_OMNIVORE | M2_AMORPHOUS, C(BROWN) },
- X { "black pudding", S_PUDDING, 10, 6, 6, 0, 0, (G_GENO | 1),
- X { { AT_BITE, AD_RUST, 3, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 50, 500, 0, MS_SILENT, M1_NOEYES | M1_NOHANDS | M1_POIS_RES |
- X M1_COLD_RES | M1_ELEC_RES,
- X M2_HOSTILE | M2_NOLIMBS | M2_OMNIVORE | M2_AMORPHOUS, C(BLACK) },
- X/* Quantum Mechanics */
- X { "quantum mechanic", S_QUANTMECH, 7, 12, 3, 10, 0, (G_GENO | 3),
- X { { AT_CLAW, AD_TLPT, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 2, 20, 0, MS_SILENT, M1_ANIMAL | M1_HUMANOID | M1_POIS, M2_HOSTILE,
- X C(CYAN)},
- X { "mad scientist", S_QUANTMECH, 8, 12, 2, 20, 0, (G_GENO | 2),
- X { { AT_WEAP, AD_SLEE, 1, 8 }, { AT_CLAW, AD_DREN, 0, 0 },
- X NO_ATTK, NO_ATTK, NO_ATTK },
- X 35, 200, 0, MS_SILENT, M1_HUMANOID | M1_POIS | M1_COLLECT,
- X M2_HOSTILE,
- X C(MAGENTA)},
- X/* Rust Monster */
- X { "rust monster", S_RUSTMONST, 5, 18, 2, 0, 0, (G_GENO | 2),
- X { { AT_TUCH, AD_RUST, 0, 0 }, { AT_TUCH, AD_RUST, 0, 0 }, NO_ATTK,
- X NO_ATTK, NO_ATTK },
- X 50, 500, 0, MS_SILENT, M1_SWIM | M1_ANIMAL | M1_NOHANDS, M2_HOSTILE,
- X C(BROWN)},
- X/* Snakes */
- X { "garter snake", S_SNAKE, 1, 8, 8, 0, 0, (G_LGROUP | G_GENO | 1),
- X { { AT_BITE, AD_PHYS, 1, 2 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 5, 60, 0, MS_HISS,
- X M1_VSMALL | M1_SWIM | M1_ANIMAL | M1_NOHANDS | M1_EGGS, M2_CONCEAL |
- X M2_NOLIMBS | M2_CARNIVORE, C(GREEN) },
- X { "snake", S_SNAKE, 4, 15, 3, 0, 0, (G_GENO | 2),
- X { { AT_BITE, AD_DRST, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 10, 80, 0, MS_HISS, M1_VSMALL | M1_SWIM | M1_ANIMAL | M1_NOHANDS |
- X M1_EGGS | M1_POIS | M1_POIS_RES, M2_HOSTILE | M2_CONCEAL |
- X M2_NOLIMBS | M2_CARNIVORE, C(GREEN) },
- X { "pit viper", S_SNAKE, 6, 15, 2, 0, 0, (G_GENO | 1),
- X { { AT_BITE, AD_DRST, 1, 4 }, { AT_BITE, AD_DRST, 1, 4 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 5, 60, 0, MS_HISS, M1_VSMALL |
- X M1_SWIM | M1_ANIMAL | M1_NOHANDS | M1_EGGS | M1_POIS | M1_POIS_RES,
- X M2_HOSTILE | M2_CONCEAL | M2_NOLIMBS | M2_CARNIVORE, C(GREEN) },
- X { "cobra", S_SNAKE, 6, 18, 2, 0, 0, (G_GENO | 1),
- X { { AT_BITE, AD_DRST, 2, 4 }, { AT_SPIT, AD_BLND, 0, 0 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 15, 100, 0, MS_HISS, M1_VSMALL |
- X M1_SWIM | M1_ANIMAL | M1_NOHANDS | M1_EGGS | M1_POIS | M1_POIS_RES,
- X M2_HOSTILE | M2_CONCEAL | M2_NOLIMBS | M2_CARNIVORE, C(GREEN) },
- X { "python", S_SNAKE, 6, 3, 5, 0, 0, (G_GENO | 1),
- X { { AT_BITE, AD_DRST, 1, 4 }, { AT_HUGS, AD_WRAP, 2, 4 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 15, 100, 0, MS_HISS, M1_BIG |
- X M1_SWIM | M1_ANIMAL | M1_NOHANDS | M1_EGGS | M1_POIS | M1_POIS_RES,
- X M2_HOSTILE | M2_STRONG | M2_NOLIMBS | M2_CARNIVORE, C(GREEN) },
- X { "water moccasin", S_SNAKE, 4, 15, 3, 0, 0,
- X (G_GENO | G_NOGEN | G_LGROUP),
- X { { AT_BITE, AD_DRST, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 10, 100, 0, MS_HISS, M1_VSMALL | M1_SWIM | M1_ANIMAL | M1_NOHANDS |
- X M1_EGGS | M1_POIS | M1_POIS_RES, M2_HOSTILE | M2_CONCEAL |
- X M2_NOLIMBS | M2_CARNIVORE, C(GREEN) },
- X/* Trolls */
- X { "troll", S_TROLL, 7, 12, 4, 0, -3, (G_GENO | 2),
- X { { AT_CLAW, AD_PHYS, 4, 2 }, { AT_CLAW, AD_PHYS, 4, 2 },
- X { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK },
- X 40, 400, 0, MS_GRUNT, M1_BIG | M1_HUMANOID | M1_REGEN | M1_STALK,
- X M2_STRONG | M2_CARNIVORE | M2_HOSTILE, C(BROWN) },
- X { "ice troll", S_TROLL, 9, 10, 2, 20, -3, (G_GENO | 1),
- X { { AT_CLAW, AD_PHYS, 2, 6 }, { AT_CLAW, AD_COLD, 2, 6 },
- X { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK },
- X 40, 300, 0, MS_GRUNT,
- X M1_BIG | M1_HUMANOID | M1_COLD_RES | M1_REGEN | M1_STALK,
- X M2_STRONG | M2_CARNIVORE | M2_HOSTILE, C(WHITE) },
- X { "rock troll", S_TROLL, 9, 12, 0, 0, -3, (G_GENO | 1),
- X { { AT_CLAW, AD_PHYS, 2, 8 }, { AT_WEAP, AD_PHYS, 3, 6 },
- X { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK },
- X 40, 300, 0, MS_GRUNT,
- X M1_BIG | M1_HUMANOID | M1_REGEN | M1_STALK | M1_COLLECT,
- X M2_STRONG | M2_CARNIVORE | M2_HOSTILE, C(BROWN) },
- X { "water troll", S_TROLL, 11, 14, 4, 40, -3, (G_NOGEN | G_GENO),
- X { { AT_CLAW, AD_PHYS, 2, 8 }, { AT_CLAW, AD_PHYS, 2, 8 },
- X { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK },
- X 40, 400, 0, MS_GRUNT,
- X M1_BIG | M1_SWIM | M1_HUMANOID | M1_REGEN | M1_STALK,
- X M2_STRONG | M2_CARNIVORE | M2_HOSTILE, C(BLUE) },
- X#ifdef TOLKIEN
- X { "Olog-hai", S_TROLL, 13, 12, -4, 0, -7, (G_GENO | 1),
- X { { AT_CLAW, AD_PHYS, 2, 8 }, { AT_WEAP, AD_PHYS, 3, 6 },
- X { AT_BITE, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK },
- X 40, 400, 0, MS_GRUNT,
- X M1_BIG | M1_HUMANOID | M1_REGEN | M1_STALK | M1_COLLECT,
- X M2_STRONG | M2_CARNIVORE | M2_HOSTILE, C(BROWN) },
- X#endif
- X/* Umber Hulk */
- X { "umber hulk", S_UMBER, 9, 6, 2, 25, 0, (G_GENO | 2),
- X { { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 },
- X { AT_BITE, AD_PHYS, 2, 5 }, { AT_GAZE, AD_CONF, 0, 0 }, NO_ATTK },
- X 50, 500, 0, MS_SILENT, M1_BIG, M2_STRONG | M2_TUNNEL | M2_CARNIVORE,
- X C(BROWN)},
- X/* Vampires */
- X { "vampire", S_VAMPIRE, 10, 12, 1, 25, -8, (G_GENO | 1),
- X { { AT_CLAW, AD_PHYS, 1, 6 }, { AT_BITE, AD_DRLI, 1, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 40, 400, 0, MS_VAMPIRE,
- X M1_FLY | M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_REGEN |
- X M1_STALK, M2_HOSTILE | M2_STRONG | M2_NASTY, C(HI_MON) },
- X { "vampire lord", S_VAMPIRE, 12, 14, 0, 50, -9, (G_GENO | 1),
- X { { AT_CLAW, AD_PHYS, 1, 8 }, { AT_BITE, AD_DRLI, 1, 8 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 40, 400, 0, MS_VAMPIRE,
- X M1_FLY | M1_HUMANOID | M1_UNDEAD | M1_POIS | M1_REGEN |
- X M1_STALK | M1_LORD, M2_HOSTILE | M2_STRONG | M2_NASTY, C(HI_MON) },
- X { "Vlad the Impaler", S_VAMPIRE, 14, 18, -3, 80, -10,
- X (G_NOGEN | G_NOCORPSE | G_UNIQ),
- X { { AT_WEAP, AD_PHYS, 1, 6 }, { AT_BITE, AD_DRLI, 1, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 40, 400, PL_NSIZ, MS_VAMPIRE,
- X M1_NOPOLY | M1_FLY | M1_HUMANOID | M1_UNDEAD | M1_POIS |
- X M1_REGEN | M1_STALK | M1_PRINCE,
- X M2_HOSTILE | M2_PNAME | M2_STRONG | M2_NASTY, C(MAGENTA) },
- X/* Wraiths */
- X { "barrow wight", S_WRAITH, 3, 12, 5, 5, -3, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_MAGC, AD_SPEL, 0, 0 },
- X { AT_WEAP, AD_DRLI, 0, 0 }, NO_ATTK, NO_ATTK }, 30, 0, 0, MS_SILENT,
- X M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK | M1_COLLECT,
- X M2_HOSTILE, C(GRAY) },
- X { "wraith", S_WRAITH, 6, 12, 4, 15, -6, (G_GENO | 2),
- X { { AT_TUCH, AD_DRLI, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 30, 0, 0, MS_SILENT,
- X M1_FLY | M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK,
- X M2_HOSTILE, C(BLACK) },
- X#ifdef TOLKIEN
- X { "Nazgul", S_WRAITH, 13, 12, 0, 25, -17, (G_GENO | G_NOCORPSE | 1),
- X { { AT_WEAP, AD_DRLI, 1, 4 }, { AT_BREA, AD_SLEE, 0, 0 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 30, 0, 0, MS_SILENT,
- X M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK | M1_COLLECT,
- X M2_STRONG | M2_HOSTILE, C(BLACK) },
- X#endif
- X/* Xorn */
- X { "xorn", S_XORN, 8, 9,-2, 20, 0, (G_GENO | 1),
- X { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
- X { AT_CLAW, AD_PHYS, 1, 3 }, { AT_BITE, AD_PHYS, 4, 6 },
- X NO_ATTK }, 70, 700, 0, MS_SILENT,
- X M1_BIG | M1_WALLWALK | M1_FIRE_RES | M1_COLD_RES | M1_STON_RES,
- X M2_HOSTILE | M2_STRONG | M2_THICK_HIDE, C(BROWN) },
- X/* Yeti */
- X { "yeti", S_YETI, 5, 15, 6, 0, 0, (G_GENO | 2),
- X { { AT_CLAW, AD_PHYS, 1, 6 }, { AT_CLAW, AD_PHYS, 1, 6 },
- X { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK },
- X 70, 700, 0, MS_GROWL, M1_BIG | M1_ANIMAL | M1_HUMANOID | M1_COLD_RES,
- X M2_HOSTILE | M2_STRONG | M2_CARNIVORE, C(WHITE) },
- X/* Zombies */
- X { "kobold zombie", S_ZOMBIE, 0, 6, 10, 0, -2, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 10, 100, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS |
- X M1_POIS_RES | M1_STALK, M2_HOSTILE, C(BROWN) },
- X { "gnome zombie", S_ZOMBIE, 1, 6, 10, 0, -2, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 1, 5 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 10, 100, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS |
- X M1_POIS_RES | M1_STALK, M2_HOSTILE, C(HI_MON) },
- X { "orc zombie", S_ZOMBIE, 2, 6, 9, 0, -3,
- X (G_GENO | G_SGROUP | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 1, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 15, 150, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS_RES |
- X M1_STALK | M1_GREEDY | M1_JEWELS, M2_HOSTILE | M2_ORC, C(BROWN) },
- X { "elf zombie", S_ZOMBIE, 3, 6, 9, 0, -3,
- X (G_GENO | G_SGROUP | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 1, 7 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 35, 350, 0, MS_SILENT, M1_HUMANOID | M1_UNDEAD | M1_POIS_RES |
- X M1_STALK | M1_SLEE_RES, M2_HOSTILE | M2_ELF, C(HI_MON) },
- X { "human zombie", S_ZOMBIE, 4, 6, 8, 0, -3,
- X (G_GENO | G_SGROUP | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 40, 400, 0, MS_SILENT,
- X M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK, M2_HOSTILE,
- X C(HI_MON) },
- X { "ettin zombie", S_ZOMBIE, 6, 8, 6, 0, -4, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 1, 10 }, { AT_CLAW, AD_PHYS, 1, 10 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, 0, MS_SILENT,
- X M1_BIG | M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK,
- X M2_HOSTILE | M2_STRONG, C(BROWN) },
- X { "giant zombie", S_ZOMBIE, 8, 8, 6, 0, -4, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 2, 8 }, { AT_CLAW, AD_PHYS, 2, 8 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 75, 750, 0, MS_SILENT,
- X M1_BIG | M1_HUMANOID | M1_UNDEAD | M1_POIS_RES | M1_STALK |
- X M1_JEWELS, M2_HOSTILE | M2_GIANT | M2_STRONG, C(HI_MON) },
- X/* Golems */
- X#ifdef GOLEMS
- X { "straw golem", S_GOLEM, 3, 12, 10, 0, 0, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 1, 2 }, { AT_CLAW, AD_PHYS, 1, 2 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 10, 0, 0, MS_SILENT,
- X M1_BIG | M1_HUMANOID | M1_POIS_RES, M2_HOSTILE, C(YELLOW) },
- X { "rope golem", S_GOLEM, 4, 9, 8, 0, 0, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 1, 6 }, { AT_HUGS, AD_PHYS, 6, 1 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 20, 0, 0, MS_SILENT,
- X M1_BIG | M1_HUMANOID | M1_POIS_RES, M2_HOSTILE, C(BROWN) },
- X { "leather golem", S_GOLEM, 6, 6, 6, 0, 0, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 1, 6 }, { AT_CLAW, AD_PHYS, 1, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 40, 0, 0, MS_SILENT,
- X M1_BIG | M1_HUMANOID | M1_POIS_RES, M2_HOSTILE, C(HI_LEATHER) },
- X { "wood golem", S_GOLEM, 7, 3, 4, 0, 0, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 3, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 50, 0, 0, MS_SILENT, M1_BIG | M1_HUMANOID | M1_POIS_RES,
- X M2_HOSTILE | M2_THICK_HIDE, C(HI_WOOD) },
- X { "flesh golem", S_GOLEM, 9, 8, 9, 30, 0, (G_GENO | 1),
- X { { AT_CLAW, AD_PHYS, 2, 8 }, { AT_CLAW, AD_PHYS, 2, 8 },
- X NO_ATTK, NO_ATTK, NO_ATTK},
- X 60, 600, 0, MS_SILENT, M1_BIG | M1_HUMANOID | M1_POIS_RES |
- X M1_FIRE_RES | M1_COLD_RES | M1_ELEC_RES, M2_HOSTILE | M2_STRONG,
- X C(HI_MON) },
- X { "clay golem", S_GOLEM, 11, 7, 7, 40, 0, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 3, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 75, 0, 0, MS_SILENT, M1_BIG | M1_HUMANOID | M1_POIS_RES,
- X M2_HOSTILE | M2_STRONG | M2_THICK_HIDE, C(BROWN) },
- X { "stone golem", S_GOLEM, 14, 6, 5, 50, 0, (G_GENO | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 3, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 90, 0, 0, MS_SILENT, M1_BIG | M1_HUMANOID | M1_POIS_RES | M1_STON_RES,
- X M2_HOSTILE | M2_STRONG | M2_THICK_HIDE, C(GRAY) },
- X { "iron golem", S_GOLEM, 18, 6, 3, 60, 0, (G_GENO | G_NOCORPSE | 1),
- X { { AT_WEAP, AD_PHYS, 4, 10 }, { AT_BREA, AD_DRST, 4, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK },
- X 100, 0, 0, MS_SILENT, M1_BIG | M1_HUMANOID | M1_POIS |
- X M1_FIRE_RES | M1_COLD_RES | M1_ELEC_RES | M1_COLLECT,
- X M2_HOSTILE | M2_STRONG | M2_THICK_HIDE, C(HI_METAL) },
- X#endif /* GOLEMS */
- X/* Humans */
- X { "human", S_HUMAN, 0, 12, 10, 0, 0, G_NOGEN,
- X { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT,
- X M2_HUMAN | M2_PEACEFUL | M2_STRONG, C(HI_MON) }, /* for corpses */
- X { "wererat", S_HUMAN, 2, 12, 7, 10, -7, 1,
- X { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_SILENT, M1_NOPOLY | M1_HUMANOID | M1_WERE | M1_POIS |
- X M1_REGEN | M1_COLLECT, M2_HOSTILE | M2_HUMAN, C(HI_MON) },
- X { "werejackal", S_HUMAN, 2, 12, 7, 10, -7, 1,
- X { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_BARK, M1_NOPOLY | M1_HUMANOID | M1_WERE | M1_POIS |
- X M1_REGEN | M1_COLLECT, M2_HOSTILE | M2_HUMAN, C(HI_MON) },
- X { "werewolf", S_HUMAN, 5, 12, 6, 20, -7, 1,
- X { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_BARK, M1_NOPOLY | M1_HUMANOID | M1_WERE | M1_POIS |
- X M1_REGEN | M1_COLLECT, M2_HOSTILE | M2_HUMAN, C(HI_MON) },
- X#ifdef TOLKIEN
- X { "Woodland-elf", S_HUMAN, 4, 12, 5, 10, 5, (G_GENO | G_SGROUP | 2),
- X { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 35, 350, 0, MS_HUMANOID, M1_HUMANOID | M1_COLLECT | M1_SLEE_RES,
- X M2_ELF, C(HI_MON) },
- X { "Green-elf", S_HUMAN, 5, 12, 5, 10, 6, (G_GENO | G_SGROUP | 2),
- X { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 35, 350, 0, MS_HUMANOID, M1_HUMANOID | M1_COLLECT | M1_SLEE_RES,
- X M2_ELF, C(HI_MON) },
- X { "Grey-elf", S_HUMAN, 6, 12, 5, 10, 7, (G_GENO | G_SGROUP | 2),
- X { { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 35, 350, 0, MS_HUMANOID, M1_HUMANOID | M1_COLLECT | M1_SLEE_RES,
- X M2_ELF, C(HI_MON) },
- X#endif
- X { "elf-lord", S_HUMAN, 8, 12, 5, 20, 9, (G_GENO | G_SGROUP | 2),
- X { { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 },
- X NO_ATTK, NO_ATTK, NO_ATTK },
- X 35, 350, 0, MS_HUMANOID, M1_HUMANOID | M1_LORD | M1_COLLECT |
- X M1_SLEE_RES, M2_ELF | M2_STRONG, C(HI_MON) },
- X { "Elvenking", S_HUMAN, 9, 12, 5, 25, 10, (G_GENO | 1),
- X { { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4},
- X NO_ATTK, NO_ATTK, NO_ATTK },
- X 35, 350, 0, MS_HUMANOID, M1_HUMANOID | M1_PRINCE | M1_COLLECT |
- X M1_SLEE_RES, M2_ELF | M2_STRONG, C(HI_MON) },
- X { "nurse", S_HUMAN, 11, 6, 0, 0, 0, (G_GENO | 3),
- X { { AT_CLAW, AD_HEAL, 2, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_NURSE, M1_NOPOLY | M1_HUMANOID | M1_POIS_RES,
- X M2_HUMAN | M2_HOSTILE, C(HI_MON) },
- X { "shopkeeper", S_HUMAN, 12, 18, 0, 50, 0, G_NOGEN,
- X { { AT_WEAP, AD_PHYS, 4, 4 }, { AT_WEAP, AD_PHYS, 4, 4 }, NO_ATTK,
- X NO_ATTK, NO_ATTK }, 45, 400, sizeof(struct eshk), MS_SELL,
- X M1_NOPOLY | M1_HUMANOID | M1_MAGIC | M1_COLLECT,
- X M2_HUMAN | M2_PEACEFUL | M2_STRONG, C(HI_MON) },
- X { "guard", S_HUMAN, 12, 12, -1, 40, 10, G_NOGEN,
- X { { AT_WEAP, AD_PHYS, 4, 10 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, sizeof(struct egd), MS_GUARD,
- X M1_NOPOLY | M1_HUMANOID | M1_COLLECT,
- X M2_HUMAN | M2_MERC | M2_PEACEFUL | M2_STRONG, C(HI_MON) },
- X#if defined(ALTARS) && defined(THEOLOGY)
- X { "temple priest", S_HUMAN, 12, 12, 0, 50, 1, G_NOGEN,
- X { { AT_WEAP, AD_PHYS, 4, 10 }, { AT_KICK, AD_PHYS, 1, 4 },
- X { AT_MAGC, AD_CLRC, 0, 0 }, NO_ATTK, NO_ATTK },
- X 45, 400, sizeof(struct epri), MS_PRIEST,
- X M1_NOPOLY | M1_HUMANOID | M1_ELEC_RES | M1_COLLECT,
- X M2_HUMAN | M2_PEACEFUL, C(BRIGHT|WHITE) },
- X { "temple priestess", S_HUMAN, 12, 12, 0, 50, 1, G_NOGEN,
- X { { AT_WEAP, AD_PHYS, 4, 10 }, { AT_KICK, AD_PHYS, 1, 4 },
- X { AT_MAGC, AD_CLRC, 0, 0 }, NO_ATTK, NO_ATTK },
- X 45, 400, sizeof(struct epri), MS_PRIEST,
- X M1_NOPOLY | M1_HUMANOID | M1_ELEC_RES | M1_COLLECT | M1_FEM,
- X M2_HUMAN | M2_PEACEFUL, C(BRIGHT|WHITE) },
- X#endif
- X#ifdef ARMY
- X { "unarmored soldier", S_HUMAN, 6, 4, 10, 0, -2, G_NOGEN,
- X { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_SOLDIER,
- X M1_NOPOLY | M1_HUMANOID | M1_STALK | M1_COLLECT,
- X M2_HUMAN | M2_MERC | M2_HOSTILE | M2_STRONG, C(GREEN) },
- X { "soldier", S_HUMAN, 6, 4, 3, 0, -2, (G_SGROUP | G_GENO | 1),
- X { { AT_WEAP, AD_PHYS, 1, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_SOLDIER,
- X M1_NOPOLY | M1_HUMANOID | M1_STALK | M1_COLLECT,
- X M2_HUMAN | M2_MERC | M2_HOSTILE | M2_STRONG, C(GREEN) },
- X { "sergeant", S_HUMAN, 8, 4, 0, 5, -3, (G_SGROUP | G_GENO | 1),
- X { { AT_WEAP, AD_PHYS, 2, 6 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_SOLDIER,
- X M1_NOPOLY | M1_HUMANOID | M1_STALK | M1_COLLECT,
- X M2_HUMAN | M2_MERC | M2_HOSTILE | M2_STRONG, C(GREEN) },
- X { "lieutenant", S_HUMAN, 10, 4, -2, 15, -4, (G_GENO | 1),
- X { { AT_WEAP, AD_PHYS, 3, 4 }, { AT_WEAP, AD_PHYS, 3, 4 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 45, 400, 0, MS_SOLDIER,
- X M1_NOPOLY | M1_HUMANOID | M1_STALK | M1_COLLECT,
- X M2_HUMAN | M2_MERC | M2_HOSTILE | M2_STRONG, C(GREEN) },
- X { "captain", S_HUMAN, 12, 4, -3, 15, -5, (G_GENO | 1),
- X { { AT_WEAP, AD_PHYS, 4, 4 }, { AT_WEAP, AD_PHYS, 4, 4 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 45, 400, 0, MS_SOLDIER,
- X M1_NOPOLY | M1_HUMANOID | M1_STALK | M1_COLLECT,
- X M2_HUMAN | M2_MERC | M2_HOSTILE | M2_STRONG, C(GREEN) },
- X#endif
- X { "Wizard of Yendor", S_HUMAN, 30, 12, -8, 100, -20, G_NOGEN,
- X { { AT_CLAW, AD_SAMU, 2, 12 }, { AT_MAGC, AD_SPEL, 0, 0 },
- X { AT_BITE, AD_CUSS, 0, 0 }, NO_ATTK, NO_ATTK }, 45, 400, PL_NSIZ,
- X MS_CUSS, M1_NOPOLY | M1_FLY | M1_HUMANOID | M1_POIS_RES |
- X M1_FIRE_RES | M1_REGEN | M1_SEE_INVIS | M1_TPORT |
- X M1_TPORT_CONTROL | M1_MAGIC,
- X M2_HUMAN | M2_PNAME | M2_HOSTILE | M2_STRONG | M2_NASTY, C(MAGENTA)
- X },
- X#ifdef MEDUSA
- X { "Medusa", S_HUMAN, 20, 12, 2, 50, -15, G_NOGEN | G_UNIQ,
- X { { AT_CLAW, AD_PHYS, 1, 8 }, { AT_GAZE, AD_STON, 0, 0 },
- X { AT_BITE, AD_DRST, 1, 6 }, { AT_WEAP, AD_PHYS, 2, 4 }, NO_ATTK },
- X 45, 400, PL_NSIZ, MS_HISS,
- X M1_NOPOLY | M1_BIG | M1_HUMANOID | M1_POIS | M1_POIS_RES |
- X M1_STON_RES | M1_FEM, M2_HOSTILE | M2_STRONG | M2_PNAME,
- X C(BRIGHT|GREEN) },
- X#endif
- X#ifdef ORACLE
- X { "oracle", S_HUMAN, 12, 0, 0, 50, 0, G_NOGEN | G_UNIQ,
- X { { AT_NONE, AD_MAGM, 0, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_ORACLE, M1_NOPOLY | M1_HUMANOID | M1_FEM,
- X M2_HUMAN | M2_PEACEFUL, C(HI_MON) },
- X#endif
- X#ifdef CHARON
- X { "Charon", S_HUMAN, 76, 18, -5, 120, 0,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_WEAP, AD_PHYS, 1, 8 }, { AT_TUCH, AD_PLYS, 1, 8 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 45, 400, PL_NSIZ, MS_FERRY,
- X M1_NOPOLY | M1_SEE_INVIS | M1_HUMANOID | M1_POIS_RES | M1_FIRE_RES |
- X M1_COLLECT, M2_HUMAN | M2_PEACEFUL, C(WHITE) },
- X#endif
- X/* Ghost */
- X { "ghost", S_GHOST, 10, 3, -5, 50, -5, (G_NOCORPSE | G_NOGEN),
- X { { AT_TUCH, AD_PHYS, 1, 1 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 0, PL_NSIZ, MS_SILENT, M1_NOPOLY | M1_FLY | M1_WALLWALK |
- X M1_HUMANOID | M1_UNDEAD | M1_STALK | M1_POIS_RES, M2_HOSTILE,
- X C(WHITE)},
- X/* (major) Demons */
- X { "water demon", S_DEMON, 8, 12,-4, 30, -7, (G_NOCORPSE | G_NOGEN),
- X { { AT_WEAP, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
- X { AT_BITE, AD_PHYS, 1, 3 }, NO_ATTK, NO_ATTK },
- X 45, 450, 0, MS_SILENT, M1_SWIM | M1_POIS | M1_FIRE_RES |
- X M1_STALK | M1_COLLECT, M2_DEMON | M2_HOSTILE | M2_NASTY, C(BLUE) },
- X#ifndef HARD /* generic type */
- X { "demon", S_DEMON, 10, 12,-4, 30, -7, (G_NOCORPSE | 1),
- X { { AT_WEAP, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
- X { AT_BITE, AD_PHYS, 1, 4 }, NO_ATTK, NO_ATTK },
- X 45, 450, 0, MS_JEER, M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT,
- X M2_DEMON | M2_HOSTILE | M2_NASTY, C(RED) },
- X#else /* used in hell for bigger, badder demons! */
- X /* standard demons & devils */
- X { "horned devil", S_DEMON, 6, 9, -5, 50, 11, (G_HELL | G_NOCORPSE | 2),
- X { { AT_WEAP, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
- X { AT_BITE, AD_PHYS, 2, 3 }, { AT_STNG, AD_PHYS, 1, 3 }, NO_ATTK },
- X 45, 450, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_STALK,
- X M2_DEMON | M2_HOSTILE | M2_NASTY | M2_THICK_HIDE, C(RED) },
- X#ifdef SEDUCE
- X { "succubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
- X { { AT_BITE, AD_SSEX, 0, 0 }, { AT_CLAW, AD_PHYS, 1, 3 },
- X { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK }, 45, 450, 0, MS_SEDUCE,
- X M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK | M1_FEM,
- X M2_DEMON | M2_HOSTILE | M2_NASTY, C(RED) },
- X { "incubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
- X { { AT_BITE, AD_SSEX, 0, 0 }, { AT_CLAW, AD_PHYS, 1, 3 },
- X { AT_CLAW, AD_PHYS, 1, 3 }, NO_ATTK }, 45, 450, 0, MS_SEDUCE,
- X M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK,
- X M2_DEMON | M2_HOSTILE | M2_NASTY, C(RED) },
- X#else
- X { "succubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
- X { AT_BITE, AD_DRLI, 2, 6 }, NO_ATTK }, 45, 450, 0, MS_SEDUCE,
- X M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK | M1_FEM,
- X M2_DEMON | M2_HOSTILE | M2_NASTY, C(RED) },
- X { "incubus", S_DEMON, 6, 12, 0, 70, -9, (G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
- X { AT_BITE, AD_DRLI, 2, 6 }, NO_ATTK }, 45, 450, 0, MS_SEDUCE,
- X M1_HUMANOID | M1_FLY | M1_POIS | M1_FIRE_RES | M1_STALK,
- X M2_DEMON | M2_HOSTILE | M2_NASTY, C(RED) },
- X#endif
- X { "erinyes", S_DEMON, 7, 12, 2, 30, 10,
- X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
- X { { AT_WEAP, AD_DRST, 2, 4 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 450, 0, MS_SILENT, M1_HUMANOID | M1_POIS | M1_FIRE_RES |
- X M1_STALK | M1_COLLECT | M1_FEM,
- X M2_DEMON | M2_HOSTILE | M2_STRONG | M2_NASTY, C(RED) },
- X { "marilith", S_DEMON, 7, 12, -6, 80, -12, (G_HELL | G_NOCORPSE | 1),
- X { { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 },
- X { AT_WEAP, AD_PHYS, 2, 4 }, { AT_WEAP, AD_PHYS, 2, 4 },
- X { AT_WEAP, AD_PHYS, 2, 4 }, }, 45, 450, 0, MS_SILENT, M1_HUMANOID |
- X M1_SEE_INVIS | M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT |
- X M1_FEM, M2_DEMON | M2_HOSTILE | M2_NASTY, C(RED) },
- X { "barbed devil", S_DEMON, 8, 12, 0, 35, 8,
- X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
- X { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 },
- X { AT_STNG, AD_PHYS, 3, 4 }, NO_ATTK, NO_ATTK },
- X 45, 450, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_STALK,
- X M2_DEMON | M2_HOSTILE | M2_NASTY | M2_THICK_HIDE, C(RED) },
- X { "vrock", S_DEMON, 8, 12, 0, 50, -9,
- X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
- X { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
- X { AT_CLAW, AD_PHYS, 1, 8 }, { AT_CLAW, AD_PHYS, 1, 8 },
- X { AT_BITE, AD_PHYS, 1, 6 }, },
- X 45, 450, 0, MS_SILENT, M1_POIS | M1_FIRE_RES | M1_STALK,
- X M2_DEMON | M2_HOSTILE | M2_NASTY, C(RED) },
- X { "hezrou", S_DEMON, 9, 6, -2, 55, -10,
- X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
- X { { AT_CLAW, AD_PHYS, 1, 3 }, { AT_CLAW, AD_PHYS, 1, 3 },
- X { AT_BITE, AD_PHYS, 4, 4 }, NO_ATTK, NO_ATTK }, 45, 450, 0,
- X MS_SILENT, M1_HUMANOID | M1_POIS | M1_FIRE_RES | M1_STALK,
- X M2_DEMON | M2_HOSTILE | M2_NASTY, C(RED) },
- X { "bone devil", S_DEMON, 9, 15, -1, 40, -9,
- X (G_HELL | G_NOCORPSE | G_SGROUP | 2),
- X { { AT_WEAP, AD_PHYS, 3, 4 }, { AT_STNG, AD_DRST, 2, 4 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 45, 450, 0, MS_SILENT,
- X M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT,
- X M2_DEMON | M2_HOSTILE | M2_NASTY, C(WHITE) },
- X { "nalfeshnee", S_DEMON, 11, 9, -1, 65, -11, (G_HELL | G_NOCORPSE | 1),
- X { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
- X { AT_BITE, AD_PHYS, 2, 4 }, { AT_MAGC, AD_SPEL, 0, 0 }, NO_ATTK },
- X 45, 450, 0, MS_SILENT, M1_HUMANOID | M1_POIS | M1_FIRE_RES | M1_STALK,
- X M2_DEMON | M2_HOSTILE | M2_NASTY, C(RED) },
- X { "ice devil", S_DEMON, 11, 6, -4, 55, -12, (G_HELL | G_NOCORPSE | 2),
- X { { AT_CLAW, AD_PHYS, 1, 4 }, { AT_CLAW, AD_PHYS, 1, 4 },
- X { AT_BITE, AD_PHYS, 2, 4 }, { AT_STNG, AD_COLD, 3, 4 }, NO_ATTK },
- X 45, 450, 0, MS_SILENT, M1_SEE_INVIS | M1_POIS | M1_FIRE_RES |
- X M1_COLD_RES | M1_STALK, M2_DEMON | M2_HOSTILE | M2_NASTY,
- X C(WHITE) },
- X { "pit fiend", S_DEMON, 13, 6, -3, 65, -13, (G_HELL | G_NOCORPSE | 2),
- X { { AT_WEAP, AD_PHYS, 4, 2 }, { AT_WEAP, AD_PHYS, 4, 2 },
- X { AT_HUGS, AD_PHYS, 2, 4 }, NO_ATTK, NO_ATTK }, 45, 450, 0,
- X MS_GROWL, M1_SEE_INVIS | M1_POIS | M1_FIRE_RES | M1_STALK |
- X M1_COLLECT, M2_DEMON | M2_HOSTILE | M2_NASTY, C(RED) },
- X { "balrog", S_DEMON, 16, 5, -2, 75, -14, (G_HELL | G_NOCORPSE | 1),
- X { { AT_WEAP, AD_PHYS, 8, 4 }, { AT_WEAP, AD_PHYS, 4, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 45, 450, 0, MS_SILENT,
- X M1_FLY | M1_BIG | M1_SEE_INVIS | M1_COLLECT | M1_STALK | M1_POIS |
- X M1_FIRE_RES, M2_DEMON | M2_HOSTILE | M2_STRONG | M2_NASTY,
- X C(RED) },
- X /* Named demon lords & princes plus Arch-Devils */
- X { "Juiblex", S_DEMON, 50, 3, -7, 65, -15,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_ENGL, AD_DISE, 4, 10 }, { AT_SPIT, AD_ACID, 3, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_GURGLE,
- X M1_NOPOLY | M1_FLY | M1_SEE_INVIS | M1_NOHANDS | M1_POIS |
- X M1_FIRE_RES | M1_STALK | M1_LORD,
- X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY | M2_AMORPHOUS,
- X C(BRIGHT|GREEN) },
- X { "Yeenoghu", S_DEMON, 56, 18, -5, 80, -15,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_WEAP, AD_PHYS, 3, 6 }, { AT_WEAP, AD_CONF, 2, 8 },
- X { AT_WEAP, AD_PLYS, 1, 6 }, { AT_MAGC, AD_MAGM, 2, 6 }, NO_ATTK },
- X 50, 500, PL_NSIZ, MS_ORC, M1_NOPOLY | M1_FLY | M1_SEE_INVIS |
- X M1_POIS | M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_LORD,
- X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY, C(MAGENTA) },
- X { "Orcus", S_DEMON, 66, 9, -6, 85, -20,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_MAGC, AD_SPEL, 8, 6 }, { AT_WEAP, AD_PHYS, 3, 6 },
- X { AT_CLAW, AD_PHYS, 3, 4 }, { AT_CLAW, AD_PHYS, 3, 4 },
- X { AT_STNG, AD_DRST, 2, 4 }, }, 50, 500, PL_NSIZ, MS_ORC,
- X M1_NOPOLY | M1_FLY | M1_SEE_INVIS | M1_POIS | M1_FIRE_RES |
- X M1_STALK | M1_COLLECT | M1_PRINCE,
- X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY, C(MAGENTA) },
- X { "Geryon", S_DEMON, 72, 3, -3, 75, 15,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_CLAW, AD_PHYS, 3, 6 }, { AT_CLAW, AD_PHYS, 3, 6 },
- X { AT_STNG, AD_DRST, 2, 4 }, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ,
- X MS_JEER, M1_NOPOLY | M1_FLY | M1_SEE_INVIS | M1_POIS | M1_FIRE_RES |
- X M1_STALK | M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY,
- X C(MAGENTA)},
- X { "Dispater", S_DEMON, 78, 15, -2, 80, 15,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_WEAP, AD_PHYS, 4, 6 }, { AT_MAGC, AD_SPEL, 6, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_JEER,
- X M1_NOPOLY | M1_FLY | M1_SEE_INVIS | M1_HUMANOID | M1_POIS |
- X M1_FIRE_RES | M1_STALK | M1_COLLECT | M1_PRINCE,
- X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY, C(MAGENTA) },
- X { "Baalzebub", S_DEMON, 89, 9, -5, 85, 20,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_BITE, AD_DRST, 2, 6 }, { AT_GAZE, AD_STUN, 2, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_JEER,
- X M1_NOPOLY | M1_FLY | M1_SEE_INVIS | M1_POIS | M1_FIRE_RES |
- X M1_STALK | M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY,
- X C(MAGENTA)},
- X { "Asmodeus", S_DEMON, 105, 12, -7, 90, 20,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_CLAW, AD_PHYS, 4, 4 }, { AT_MAGC, AD_COLD, 6, 6 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 50, 500, PL_NSIZ, MS_JEER,
- X M1_NOPOLY | M1_FLY | M1_SEE_INVIS | M1_HUMANOID | M1_POIS |
- X M1_FIRE_RES | M1_COLD_RES | M1_STALK | M1_PRINCE,
- X M2_DEMON | M2_HOSTILE | M2_PNAME | M2_STRONG | M2_NASTY,
- X C(MAGENTA) },
- X { "Demogorgon", S_DEMON, 106, 15, -8, 95, -20,
- X (G_HELL | G_NOCORPSE | G_NOGEN | G_UNIQ),
- X { { AT_MAGC, AD_SPEL, 8, 6 }, { AT_STNG, AD_DRLI, 1, 4 },
- X { AT_CLAW, AD_DISE, 1, 6 }, { AT_CLAW, AD_DISE, 1, 6 },
- X NO_ATTK }, 50, 500, PL_NSIZ, MS_GROWL, M1_NOPOLY | M1_FLY |
- X M1_SEE_INVIS | M1_NOHANDS | M1_POIS | M1_FIRE_RES | M1_STALK |
- X M1_PRINCE, M2_DEMON | M2_HOSTILE | M2_PNAME | M2_NASTY,
- X C(MAGENTA)},
- X#endif
- X#ifdef MAIL
- X# ifdef VMS
- X { "broadcast daemon", S_DEMON, 56, 24, 10, 127, 0, (G_NOGEN | G_NOCORPSE),
- X { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 30, 300, 0,
- X MS_SILENT, M1_NOPOLY | M1_FLY | M1_SWIM | M1_SEE_INVIS |
- X M1_HUMANOID | M1_POIS | M1_FIRE_RES | M1_COLD_RES | M1_SLEE_RES |
- X M1_STALK, M2_PEACEFUL, C(BRIGHT|BLUE) },
- X# else
- X { "mail daemon", S_DEMON, 56, 24, 10, 127, 0, (G_NOGEN | G_NOCORPSE),
- X { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK }, 30, 300, 0,
- X MS_SILENT, M1_NOPOLY | M1_FLY | M1_SWIM | M1_SEE_INVIS |
- X M1_HUMANOID | M1_POIS | M1_FIRE_RES | M1_COLD_RES | M1_SLEE_RES |
- X M1_STALK, M2_PEACEFUL, C(BRIGHT|BLUE) },
- X# endif
- X/* Neither rain nor sleet nor gloom of night shall stay this courier... */
- X#endif
- X { "djinni", S_DEMON, 7, 12, 4, 30, 0, (G_NOGEN | G_NOCORPSE),
- X { { AT_WEAP, AD_PHYS, 2, 8 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 40, 400, 0, MS_DJINNI,
- X M1_NOPOLY | M1_FLY | M1_POIS | M1_STALK | M1_COLLECT, 0,
- X C(YELLOW) },
- X/* eels */
- X { "giant eel", S_EEL, 5, 9, -1, 0, 0, (G_GENO | G_NOGEN),
- X { { AT_BITE, AD_PHYS, 3, 6 }, { AT_TUCH, AD_WRAP, 0, 0 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 10, 250, 0, MS_SILENT,
- X M1_BIG | M1_VSMALL | M1_SWIM | M1_ANIMAL | M1_NOHANDS | M1_NOPOLY |
- X M1_EGGS, M2_HOSTILE | M2_NOLIMBS | M2_CARNIVORE, C(CYAN) },
- X { "electric eel", S_EEL, 7, 10, -3, 0, 0, (G_GENO | G_NOGEN),
- X { { AT_BITE, AD_ELEC, 4, 6 }, { AT_TUCH, AD_WRAP, 0, 0 },
- X NO_ATTK, NO_ATTK, NO_ATTK }, 10, 250, 0, MS_SILENT,
- X M1_BIG | M1_VSMALL | M1_SWIM | M1_ANIMAL | M1_NOHANDS | M1_NOPOLY |
- X M1_EGGS | M1_ELEC_RES, M2_HOSTILE | M2_NOLIMBS | M2_CARNIVORE,
- X C(BLUE)},
- X/* kraken */
- X { "kraken", S_EEL, 20, 3, 6, 0, -3, (G_GENO | G_NOGEN),
- X { { AT_CLAW, AD_PHYS, 2, 4 }, { AT_CLAW, AD_PHYS, 2, 4 },
- X { AT_HUGS, AD_WRAP, 2, 6 }, { AT_BITE, AD_PHYS, 5, 4 }, NO_ATTK },
- X 1, 10, 0, MS_SILENT,
- X M1_BIG | M1_SWIM | M1_ANIMAL | M1_NOHANDS | M1_NOPOLY,
- X M2_HOSTILE | M2_STRONG | M2_CARNIVORE, C(RED) },
- X/* chameleon */
- X { "chameleon", S_CHAMELEON, 6, 5, 6, 10, 0, (G_GENO | 2),
- X { { AT_BITE, AD_PHYS, 4, 2 }, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 10, 100, 0, MS_SILENT, M1_VSMALL | M1_ANIMAL,
- X M2_HOSTILE | M2_CARNIVORE, C(BROWN) },
- X
- X/* character classes */
- X { "archeologist", S_HUMAN, 1, 10, 10, 1, 3, G_NOGEN,
- X { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT,
- X M2_HUMAN | M2_STRONG | M2_TUNNEL | M2_NEEDPICK, C(HI_MON) },
- X { "barbarian", S_HUMAN, 1, 10, 10, 1, -3, G_NOGEN,
- X { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT |
- X M1_POIS_RES, M2_HUMAN | M2_STRONG, C(HI_MON) },
- X { "caveman", S_HUMAN, 1, 10, 10, 0, 1, G_NOGEN,
- X { {AT_WEAP, AD_PHYS, 2, 4}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT,
- X M2_HUMAN | M2_STRONG | M2_CARNIVORE, C(HI_MON) },
- X { "cavewoman", S_HUMAN, 1, 10, 10, 0, 1, G_NOGEN,
- X { {AT_WEAP, AD_PHYS, 2, 4}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT | M1_FEM,
- X M2_HUMAN | M2_STRONG | M2_CARNIVORE, C(HI_MON) },
- X /* Note: players who are elves still get normal carrying capacity,
- X * even though this is strictly speaking inconsistent.
- X */
- X { "elf", S_HUMAN, 1, 12, 10, 2, 3, G_NOGEN,
- X { {AT_WEAP, AD_PHYS, 1, 8}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 35, 350, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT |
- X M1_SLEE_RES | M1_SEE_INVIS, M2_ELF | M2_STRONG, C(HI_MON) },
- X { "healer", S_HUMAN, 1, 10, 10, 1, 3, G_NOGEN,
- X { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT |
- X M1_POIS_RES, M2_HUMAN | M2_STRONG, C(HI_MON) },
- X { "knight", S_HUMAN, 1, 10, 10, 1, 3, G_NOGEN,
- X { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT,
- X M2_HUMAN | M2_STRONG, C(HI_MON) },
- X { "priest", S_HUMAN, 1, 10, 10, 2, 0, G_NOGEN,
- X { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT,
- X M2_HUMAN | M2_STRONG, C(HI_MON) },
- X { "priestess", S_HUMAN, 1, 10, 10, 2, 0, G_NOGEN,
- X { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT | M1_FEM,
- X M2_HUMAN | M2_STRONG, C(HI_MON) },
- X { "rogue", S_HUMAN, 1, 10, 10, 1, -3, G_NOGEN,
- X { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT |
- X M1_GREEDY, M2_HUMAN | M2_STRONG, C(HI_MON) },
- X { "samurai", S_HUMAN, 1, 10, 10, 1, 3, G_NOGEN,
- X { {AT_WEAP, AD_PHYS, 1, 8}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT,
- X M2_HUMAN | M2_STRONG, C(HI_MON) },
- X { "tourist", S_HUMAN, 1, 10, 10, 1, 0, G_NOGEN,
- X { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT,
- X M2_HUMAN | M2_STRONG, C(HI_MON) },
- X { "valkyrie", S_HUMAN, 1, 10, 10, 1, -1, G_NOGEN,
- X { {AT_WEAP, AD_PHYS, 1, 8}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_HUMANOID, M1_NOPOLY | M1_HUMANOID | M1_COLLECT |
- X M1_COLD_RES | M1_FEM, M2_HUMAN | M2_STRONG, C(HI_MON) },
- X { "wizard", S_HUMAN, 1, 10, 10, 3, 0, G_NOGEN,
- X { {AT_WEAP, AD_PHYS, 1, 6}, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 45, 400, 0, MS_HUMANOID,
- X M1_NOPOLY | M1_HUMANOID | M1_MAGIC | M1_COLLECT,
- X M2_HUMAN | M2_STRONG, C(HI_MON) },
- X
- X/* ARRAY TERMINATOR */
- X { "", 0, 0, 0, 0, 0, 0, 0,
- X { NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK },
- X 0, 0, 0, 0, 0, 0, C(0) }
- X};
- X#endif /* !SPLITMON_1 */
- END_OF_FILE
- if test 47579 -ne `wc -c <'src/monst.c2'`; then
- echo shar: \"'src/monst.c2'\" unpacked with wrong size!
- fi
- # end of 'src/monst.c2'
- echo shar: End of archive 11 \(of 11\).
- cp /dev/null ark11isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 11 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-